package com.gimi.cloud.bbp.manage.service.sys;

import com.gimi.cloud.bbp.dto.params.*;
import com.gimi.cloud.bbp.dto.sys.SysMasterDTO;
import com.gimi.cloud.bbp.dto.sys.SysMenuDTO;

import java.util.List;

/**
 * 后台管理员相关接口
 * @author  shazhiwei
 * @date 2017-12-14
 * @version  1.0
 */
public interface MasterService {
    /** 添加用户 */
    AddMasterParams addMaster(AddMasterParams dto) throws Exception;

    /** 编辑用户 */
    AddMasterParams editMaster(AddMasterParams dto);

    boolean deleteMaster(DeleteMasterParams params);

    /**
     * 根据用户名获取用户
     */
    SysMasterDTO getMaster(LoginParams loginVo);

    String getTokenSecret();

    List<SysMenuDTO> getMasterMenuList(SysMasterDTO masterDTO);

    List<SysMasterDTO> getMasterList(MasterListParams params);

    /**
     * 根据masterId获取操作用户
     * @param params
     * @return
     */
    SysMasterDTO getMasterSingle(MasterSingleParams params);

    Long getCount(MasterListParams params);

    /**
     * 生成指定Master的登录Token并存储到redis中
     * @param masterDTO 待生成token的管理员信息
     * @return 获取的token信息
     */
    String createTokenAndSet2Redis(SysMasterDTO masterDTO);

}
